home *** CD-ROM | disk | FTP | other *** search
/ Delphi Programmer's Power Pack / Delphi Volume 1.iso / s_to_z / wmapdemo / data.z / VIEWER.PAS < prev    next >
Pascal/Delphi Source File  |  1996-03-09  |  2KB  |  104 lines

  1. unit Viewer;
  2.  
  3. interface
  4.  
  5. uses WinTypes, WinProcs, Classes, Graphics, Forms, Controls, StdCtrls,
  6.   Tabs, Menus, Dialogs, ExtCtrls, Printers, Preview;
  7.  
  8. type
  9.   TBMPShow = class(TForm)
  10.     Image1: TImage;
  11.     TabSet1: TTabSet;
  12.     OpenDialog1: TOpenDialog;
  13.     MainMenu1: TMainMenu;
  14.     File1: TMenuItem;
  15.     Open1: TMenuItem;
  16.     N1: TMenuItem;
  17.     Exit1: TMenuItem;
  18.     Print1: TMenuItem;
  19.     procedure Open1Click(Sender: TObject);
  20.     procedure TabSet1Change(Sender: TObject; NewTab: Integer;
  21.       var AllowChange: Boolean);
  22.     procedure Exit1Click(Sender: TObject);
  23.     procedure Print1Click(Sender: TObject);
  24.     procedure FormClose(Sender: TObject; var Action: TCloseAction);
  25.   private
  26.     { Private declarations }
  27.     FFilename : string;
  28.   public
  29.     { Public declarations }
  30.     constructor Create(AOwner:TComponent;Afile:string);
  31.     procedure ShowBMP;
  32.   end;
  33.  
  34. var
  35.   BMPShow: TBMPShow;
  36.  
  37. implementation
  38.  
  39. {$R *.DFM}
  40.  
  41.  
  42. constructor TBMPShow.Create(AOwner:TComponent;Afile:string);
  43. begin
  44.   inherited Create(AOwner);
  45.   FFilename := Afile;
  46. end;
  47.  
  48. procedure TBMPShow.ShowBMP;
  49. var
  50.  ndx :integer;
  51. begin
  52.   if ffilename <> '' then begin
  53.     TabSet1.Tabs.Strings[0]:=FFilename;
  54.     Image1.Picture.LoadFromFile (TabSet1.Tabs [0]);
  55.     Print1.Enabled := True;
  56.   end else
  57.     Open1Click(Self);
  58. end;
  59.  
  60. procedure TBMPShow.Open1Click(Sender: TObject);
  61. begin
  62.   if OpenDialog1.Execute then
  63.   begin
  64.     TabSet1.Tabs := OpenDialog1.Files;
  65.     Print1.Enabled := True;
  66.   end;
  67. end;
  68.  
  69. procedure TBMPShow.TabSet1Change(Sender: TObject; NewTab: Integer;
  70.   var AllowChange: Boolean);
  71. begin
  72.   Image1.Picture.LoadFromFile (TabSet1.Tabs [NewTab]);
  73. end;
  74.  
  75. procedure TBMPShow.Exit1Click(Sender: TObject);
  76. begin
  77.   Close;
  78. end;
  79.  
  80. procedure TBMPShow.Print1Click(Sender: TObject);
  81. begin
  82.   {double checks if an image is selected}
  83.   if Image1.Picture.Graphic <> nil then
  84.   begin
  85.     Previewform := TPreviewform.Create(Application);
  86.     {set a default scale, and start the preview}
  87.     try
  88.       PreviewForm.Scale := 2;
  89.       PreviewForm.SetPage;
  90.       PreviewForm.DrawPreview;
  91.       PreviewForm.ShowModal;
  92.     finally
  93.       PreviewForm.free;
  94.     end;
  95.   end;
  96. end;
  97.  
  98. procedure TBMPShow.FormClose(Sender: TObject; var Action: TCloseAction);
  99. begin
  100.   Action := caFree;
  101. end;
  102.  
  103. end.
  104.